Source:NetHack 3.1.0/youprop.h
Below is the full text to youprop.h from the source code of NetHack 3.1.0. To link to a particular line, write [[NetHack 3.1.0/youprop.h#line123]], for example. Warning! This is the source code from an old release. For the latest release, see Source code 1. /* SCCS Id: @(#)youprop.h 3.1 92/11/01 */ 2. /* Copyright © 1989 Mike Threepoint */ 3. /* NetHack may be freely redistributed. See license for details. */ 4. 5. #ifndef YOUPROP_H 6. #define YOUPROP_H 7. 8. #ifndef PROP_H 9. #include "prop.h" 10. #endif 11. #ifndef PERMONST_H 12. #include "permonst.h" 13. #endif 14. #ifndef MONDATA_H 15. #include "mondata.h" 16. #endif 17. #ifndef PM_H 18. #include "pm.h" 19. #endif 20. 21. #ifdef POLYSELF 22. # define UPROP(base,poly) (base || (poly)) 23. #else 24. # define UPROP(base,poly) (base) 25. #endif 26. 27. /* three pseudo-properties */ 28. #define Blindfolded (ublindf) 29. #define Punished (uball) 30. #define Underwater (u.uinwater) 31. /* Note that Underwater and u.uinwater are both used in code. 32. The latter form is for later implementation of other in-water 33. states, like swimming, wading, etc. */ 34. 35. #define HFire_resistance u.upropsFIRE_RES.p_flgs 36. #define Fire_resistance UPROP(HFire_resistance,resists_fire(uasmon)) 37. 38. #define HCold_resistance u.upropsCOLD_RES.p_flgs 39. #define Cold_resistance UPROP(HCold_resistance,resists_cold(uasmon)) 40. 41. #define HSleep_resistance u.upropsSLEEP_RES.p_flgs 42. #define Sleep_resistance UPROP(HSleep_resistance,resists_sleep(uasmon)) 43. 44. #define HDisint_resistance u.upropsDISINT_RES.p_flgs 45. #define Disint_resistance UPROP(HDisint_resistance,resists_disint(uasmon)) 46. 47. #define HShock_resistance u.upropsSHOCK_RES.p_flgs 48. #define Shock_resistance UPROP(HShock_resistance,resists_elec(uasmon)) 49. 50. #define HPoison_resistance u.upropsPOISON_RES.p_flgs 51. #define Poison_resistance UPROP(HPoison_resistance,resists_poison(uasmon)) 52. 53. #define Adornment u.upropsADORNED.p_flgs 54. 55. #define HRegeneration u.upropsREGENERATION.p_flgs 56. #define Regeneration UPROP(HRegeneration,regenerates(uasmon)) 57. 58. #define Searching u.upropsSEARCHING.p_flgs 59. 60. #define HSee_invisible u.upropsSEE_INVIS.p_flgs 61. #define See_invisible UPROP(HSee_invisible,perceives(uasmon)) 62. 63. #define HInvis u.upropsINVIS.p_flgs 64. #define Invis UPROP(HInvis,u.usym S_STALKER) 65. #define Invisible (Invis && !See_invisible) 66. 67. #define HTeleportation u.upropsTELEPORT.p_flgs 68. #define Teleportation UPROP(HTeleportation,can_teleport(uasmon)) 69. 70. #define HTeleport_control u.upropsTELEPORT_CONTROL.p_flgs 71. #define Teleport_control UPROP(HTeleport_control,control_teleport(uasmon)) 72. 73. #ifdef POLYSELF 74. #define Polymorph u.upropsPOLYMORPH.p_flgs 75. #define Polymorph_control u.upropsPOLYMORPH_CONTROL.p_flgs 76. #endif 77. 78. #define HLevitation u.upropsLEVITATION.p_flgs 79. #define Levitation UPROP(HLevitation,is_floater(uasmon)) 80. 81. #define Stealth u.upropsSTEALTH.p_flgs 82. #define Aggravate_monster u.upropsAGGRAVATE_MONSTER.p_flgs 83. #define Conflict u.upropsCONFLICT.p_flgs 84. #define Protection u.upropsPROTECTION.p_flgs 85. #define Protection_from_shape_changers \ 86. u.upropsPROT_FROM_SHAPE_CHANGERS.p_flgs 87. #define Warning u.upropsWARNING.p_flgs 88. 89. #define HTelepat u.upropsTELEPAT.p_flgs 90. #define Telepat UPROP(HTelepat,telepathic(uasmon)) 91. 92. #define Fast u.upropsFAST.p_flgs 93. 94. #define HStun u.upropsSTUNNED.p_flgs 95. #define Stunned UPROP(HStun,u.usym S_BAT || u.usym S_STALKER) 96. 97. #define HConfusion u.upropsCONFUSION.p_flgs 98. #define Confusion HConfusion 99. 100. #define Sick u.upropsSICK.p_flgs 101. #define Blinded u.upropsBLINDED.p_flgs 102. #define Blind UPROP(Blinded || Blindfolded,!haseyes(uasmon)) 103. #define Sleeping u.upropsSLEEPING.p_flgs 104. #define Wounded_legs u.upropsWOUNDED_LEGS.p_flgs 105. #define Stoned u.upropsSTONED.p_flgs 106. #define Strangled u.upropsSTRANGLED.p_flgs 107. #define HHallucination u.upropsHALLUC.p_flgs 108. #define HHalluc_resistance u.upropsHALLUC_RES.p_flgs 109. #define Hallucination (HHallucination && !HHalluc_resistance) 110. #define Fumbling u.upropsFUMBLING.p_flgs 111. #define Jumping u.upropsJUMPING.p_flgs 112. /* Wwalking is meaningless on water level */ 113. #define Wwalking (u.upropsWWALKING.p_flgs && \ 114. !Is_waterlevel(&u.uz)) 115. #define Hunger u.upropsHUNGER.p_flgs 116. #define Glib u.upropsGLIB.p_flgs 117. #define Reflecting u.upropsREFLECTING.p_flgs 118. #define Lifesaved u.upropsLIFESAVED.p_flgs 119. #define Antimagic u.upropsANTIMAGIC.p_flgs 120. #define Displaced u.upropsDISPLACED.p_flgs 121. #define Clairvoyant u.upropsCLAIRVOYANT.p_flgs 122. #define Vomiting u.upropsVOMITING.p_flgs 123. #define Energy_regeneration u.upropsENERGY_REGENERATION.p_flgs 124. #define HMagical_breathing u.upropsMAGICAL_BREATHING.p_flgs 125. #define Magical_breathing UPROP(HMagical_breathing,\ 126. magic_breathing(uasmon)) 127. #define Half_spell_damage u.upropsHALF_SPDAM.p_flgs 128. #define Half_physical_damage u.upropsHALF_PHDAM.p_flgs 129. 130. #endif /* YOUPROP_H */ youprop.h